#ifndef COMMONPAGE_H
#define COMMONPAGE_H
#include"musiclist.h"
#include <QWidget>
#include <QMediaPlaylist>
namespace Ui {


class CommonPage;
}

enum PageType
{
 LIKE_PAGE, // 我喜欢⻚⾯
 LOCAL_PAGE, // 本地下载⻚⾯
 HISTORY_PAGE // 最近播放⻚⾯
};
class CommonPage : public QWidget
{
    Q_OBJECT

public:
    //将音乐添加到界面上
    void addMusicToMusicPage(MusicList &musicList);
    //遍历musicListOfPage，拿到每⾸⾳乐后先检查其是否在，存在则添加。
    void reFresh(MusicList& musicList);
    void setMusicListType(PageType pageType);
    void setCommonPageUI(const QString &title, const QString &image);
    explicit CommonPage(QWidget *parent = nullptr);
    void addMusicToPlayer(MusicList &musicList, QMediaPlaylist *playList);
    // CommonPage中playMusicByIndex信号对应槽函数
    const QString& getMusicIdByIndex(int index) const;
    void setMusicImage(QPixmap pixmap);

    ~CommonPage();
signals:
 void updateLikeMusic(bool isLike, const QString& musicId);
 // 该信号由QQMusic处理--在构函数中捕获
 void playAll(PageType pageType);
 void playMusicByIndex(CommonPage*, int);

private:
    Ui::CommonPage *ui;
    // 歌单列表
     QVector<QString> musicListOfPage; // 具体某个⻚⾯的⾳乐，将来只需要存储⾳乐的id即可
     PageType pageType; // 标记属于likePage、localPage、recentPage哪个⻚⾯

};

#endif // COMMONPAGE_H
